< php $isFreecreatV2Preview = !empty($is_freecreat_v2_preview); $freecreatDeviceHost = strtolower((string)($_SERVER['HTTP_HOST'] '')); $freecreatDeviceViewMode = strpos($freecreatDeviceHost, 'm.freecreat.com') !== false 'mobile' : (strpos($freecreatDeviceHost, 'pad.freecreat.com') !== false 'pad' : ($freecreat_device_view_mode 'desktop')); $freecreatDeviceClass = $isFreecreatV2Preview ' freecreat-device-' . $freecreatDeviceViewMode : ''; $homeModels = array_values(array_filter(array_merge( is_array($random_model_list null) $random_model_list : [], is_array($recommend_model_list null) $recommend_model_list : [], is_array($main_list null) $main_list : [], is_array($hot_model_list null) $hot_model_list : [], is_array($last_model_list null) $last_model_list : [] ))); $randomHomeModels = array_values(array_filter(is_array($random_model_list null) $random_model_list : $homeModels)); $modelAt = function ($index) use ($homeModels) { return $homeModels[$index] null; }; $modelTitle = function ($item, $fallback = '3D 妯″瀷绱犳潗') { $candidates = [$item->en_title null, $item->title null, $item->origin_title null, $item->model_title null, $item->name null, $item->file_name null]; foreach ($candidates as $candidate) { $title = trim((string)($candidate '')); $normalized = strtolower(preg_replace('/\s+/', ' ', $title)); if ($title !== '' && !in_array($normalized, ['3d model', '3d models', 'model', 'untitled model'], true)) { return htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); } } return htmlspecialchars((string)$fallback, ENT_QUOTES, 'UTF-8'); }; $modelUrl = function ($item, $fallback = '/creator/') { return htmlspecialchars((string)($item->url $fallback), ENT_QUOTES, 'UTF-8'); }; $freecreatBasePath = $freecreat_v2_base_path ''; $freecreatIsTestPath = strpos($freecreatBasePath, '/test/') === 0; $redesignDetailUrl = function ($item, $fallback = '/test/pc-redesign/list.html') use (&$isFreecreatV2Preview, &$freecreatBasePath, &$freecreatIsTestPath) { if (!empty($item->id)) { if ($isFreecreatV2Preview) { return ($freecreatIsTestPath $freecreatBasePath . '/detail/' : '/detail/') . intval($item->id) . '.html'; } return '/test/pc-redesign/detail/' . intval($item->id) . '.html'; } return htmlspecialchars((string)($item->url $fallback), ENT_QUOTES, 'UTF-8'); }; $modelCover = function ($item, $fallback) { return htmlspecialchars((string)($item->cover $fallback), ENT_QUOTES, 'UTF-8'); }; $freecreatAsset = function ($item, $fallback = '/static/image/default_cover.png') { $candidates = is_object($item) [$item->cover null, $item->cover_url null, $item->photos null, $item->images null, $item->thumbnail null, $item->thumb null] : [(string)$item]; foreach ($candidates as $candidate) { if (is_string($candidate) && strlen($candidate) > 0 && ($candidate[0] === '[' || $candidate[0] === '{')) { $decoded = json_decode($candidate, true); if (json_last_error() === JSON_ERROR_NONE) { $candidate = $decoded; } } if (is_array($candidate)) { $candidate = $candidate[0] ''; } if (!empty($candidate)) { $candidate = trim((string)$candidate); if (preg_match('/^https :\/\/file\.chuangzaojia\.com\//i', $candidate)) { $candidate = preg_replace('/^https :\/\/file\.chuangzaojia\.com\//i', 'https://file.freecreat.com/', $candidate); } elseif (preg_match('/^https :\/\/chuangzaojia-com\.oss-cn-hangzhou\.aliyuncs\.com\//i', $candidate)) { $candidate = preg_replace('/^https :\/\/chuangzaojia-com\.oss-cn-hangzhou\.aliyuncs\.com\//i', 'https://freecreat-com.oss-ap-southeast-1.aliyuncs.com/', $candidate); } elseif (preg_match('/^user\//i', $candidate)) { $candidate = 'https://file.freecreat.com/' . $candidate; } elseif (!preg_match('/^(https :) \/\//i', $candidate) && $candidate[0] !== '/' && !preg_match('/^data:/i', $candidate)) { $candidate = '/' . $candidate; } if (preg_match('/^https :\/\/(file\.freecreat\.com|freecreat-com\.oss-ap-southeast-1\.aliyuncs\.com)\//i', $candidate)) { return '/freecreat-image src=' . rawurlencode($candidate); } return htmlspecialchars($candidate, ENT_QUOTES, 'UTF-8'); } } return $fallback; }; $modelPrice = function ($item, $fallback = '绌洪棿绱犳潗') use (&$isFreecreatV2Preview) { if (!$item) return $fallback; if (isset($item->price) && $item->price !== '') { return htmlspecialchars((string)$item->price, ENT_QUOTES, 'UTF-8') . ($isFreecreatV2Preview ? ' Credits' : ' 鍒涢€犲竵'); } return $fallback; }; $text = function ($value, $fallback = '') { $value = trim((string)($value '')); return htmlspecialchars($value !== '' $value : $fallback, ENT_QUOTES, 'UTF-8'); }; $firstItem = function ($list) { if (is_array($list)) { return $list[0] null; } if ($list instanceof Traversable) { foreach ($list as $item) return $item; } return null; }; $formatNumber = function ($value) { $number = number_format((float)$value, 2, '.', ''); return strpos($number, '.') === false $number : rtrim(rtrim($number, '0'), '.'); }; $sceneTotal = intval($my_scene_total 0); $uploadNum = intval($my_upload_num 0); $uploadMax = intval($my_upload_max 0); $uploadSpace = (float)($my_upload_space 0); $uploadMaxSpace = (float)($my_upload_max_space 0); $favoriteTotal = intval($favorite_total 0); $isLogin = !empty($is_login); $latestScene = $firstItem($my_scene_list []); $latestFavorite = $firstItem($favorite_list []); $sceneTitle = $latestScene->title ''; $favoriteTitle = $latestFavorite->title ''; $uploadLimitText = $uploadMax < 0 $uploadNum . ' / Unlimited' : $uploadNum . ' / ' . $uploadMax; $spaceLimitText = $uploadMaxSpace > 0 $formatNumber($uploadSpace) . ' / ' . $formatNumber($uploadMaxSpace) . ' MB' : $formatNumber($uploadSpace) . ' MB'; $defaultCovers = ['/static/image/default_cover.png']; $freecreatRobots = $freecreat_v2_robots ($freecreatIsTestPath 'noindex,nofollow,noarchive' : 'index, follow, max-image-preview:large'); $freecreatCanonical = 'https://www.freecreat.com' . ($freecreatIsTestPath $freecreatBasePath . '/index.html' : '/'); $homeTitle = $isFreecreatV2Preview 'Freecreat 3D Model Library - Download, Preview and Create' : '鍒涢€犲棣栭〉鏀圭増娴嬭瘯'; $homeDescription = 'Download 3D models, preview formats online, and discover AR or XR-ready assets on Freecreat for design, games, visualization and spatial creation.'; $homeKeywords = '3D model download,downloadable 3D models,Freecreat,online 3D preview,AR 3D models,XR 3D assets'; $homeLogo = 'https://www.freecreat.com/static/sg2025/images/logo.png'; $firstCover = !empty($randomHomeModels[0]) $freecreatAsset($randomHomeModels[0]) : $homeLogo; > < php if ($isFreecreatV2Preview): > < php endif; > < = $text($homeTitle) > < php if ($isFreecreatV2Preview): >< php endif; > < php include __DIR__ . '/partials/google-analytics.php'; >
< php $activePage = 'home'; include __DIR__ . '/partials/chrome.php'; > < php if ($isFreecreatV2Preview && $freecreatDeviceViewMode !== 'desktop'): >
< = $freecreatDeviceViewMode === 'pad' 'iPad spatial mode' : 'Mobile AR mode' >

< = $freecreatDeviceViewMode === 'pad' 'Browse 3D models for iPad AR and XR review' : 'Open 3D models, place them in AR, and send them to XR' >

< = $freecreatDeviceViewMode === 'pad' 'Use the larger iPad screen to compare models, preview spatial details, and prepare AR or XR demos before downloading on desktop.' : 'On mobile, Freecreat puts 3D View, room-scale AR and XR headset handoff ahead of heavy desktop downloads.' >

< php endif; >

Explore 3D models

Randomly refreshed from the full Freecreat model library. Load another curated batch whenever you want to keep exploring.

View all models < php if ($isFreecreatV2Preview): >Free online 3D tools< php endif; >
< php if ($isFreecreatV2Preview): >

Download 3D models with less friction

Freecreat brings together downloadable 3D assets, clear format pages and account-based access so creators can move from discovery to download quickly.

Preview before you download

Open online 3D previews, review model details, and choose dedicated download pages for formats such as GLB, FBX, OBJ, STL, USDZ, BLEND, SKP, MAX or C4D.

Built for global creative workflows

Use Freecreat for visualization, games, product design, AR placement, XR scenes, 3D printing and spatial content production without relying on duplicated domestic-page signals.

< php include __DIR__ . '/partials/freecreat-footer.php'; >
< php return; endif; >

琛屼笟鍦烘櫙妗堜緥妯℃澘

鎸夎涓氱悊瑙 3D 妯″瀷銆佹暟瀛楃┖闂村拰 AR 灞曠ず鍙互鎬庝箞缁撳悎涓氬姟銆 /p>

< php $scenarioTemplates = [ ['icon' => 'Museum', 'title' => 'Museum exhibition guide', 'desc' => 'Organize artifacts, animals, and exhibition models into a scannable digital gallery.', 'tags' => ['Museum', 'AR guide']], ['icon' => 'Class', 'title' => 'Education course space', 'desc' => 'Use 3D models to explain structures, motion, and knowledge points for interactive learning.', 'tags' => ['School', 'Science']], ['icon' => 'Brand', 'title' => 'Product 3D showroom', 'desc' => 'Present product shapes, key features, and AR placement in one spatial page.', 'tags' => ['Brand', 'Marketing']], ['icon' => 'Industry', 'title' => 'Industrial equipment explainers', 'desc' => 'Use exploded models and annotations to support sales, training, and documentation.', 'tags' => ['Industry', 'Training']], ['icon' => 'Realty', 'title' => 'Real estate spatial display', 'desc' => 'Turn layouts, parks, and sample rooms into remote-viewable digital spaces.', 'tags' => ['Real estate', 'Space']], ['icon' => 'Commerce', 'title' => 'Ecommerce product detail', 'desc' => 'Add 3D viewing, AR placement, and scene-based storytelling for product pages.', 'tags' => ['Ecommerce', 'Conversion']], ['icon' => 'Health', 'title' => 'Medical education scenes', 'desc' => 'Show devices, structures, or procedures with models to make expert content easier to understand.', 'tags' => ['Medical', 'Education']], ['icon' => 'Travel', 'title' => 'Travel destination guide', 'desc' => 'Combine landmarks, routes, and souvenir models into a shareable visitor space.', 'tags' => ['Travel', 'Guide']], ]; >
< php foreach ($scenarioTemplates as $idx => $scenario): $item = $modelAt($idx + 3); > < = htmlspecialchars($scenario['icon'], ENT_QUOTES, 'UTF-8') > < = $modelTitle($item, $scenario['title'])  >

< = htmlspecialchars($scenario['title'], ENT_QUOTES, 'UTF-8') >

< = htmlspecialchars($scenario['desc'], ENT_QUOTES, 'UTF-8') >

< php foreach ($scenario['tags'] as $tag): >< = htmlspecialchars($tag, ENT_QUOTES, 'UTF-8') >< php endforeach; >
< php endforeach; >